package com.ugrow.ugrowcommunity.activity.announcement.vm;

import android.annotation.SuppressLint;
import android.os.Bundle;

import androidx.fragment.app.Fragment;
import androidx.recyclerview.widget.LinearLayoutManager;
import androidx.recyclerview.widget.RecyclerView;
import androidx.swiperefreshlayout.widget.SwipeRefreshLayout;

import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;

import com.ugrow.ugrowcommunity.R;
import com.ugrow.ugrowcommunity.activity.announcement.adapter.AnnouncementAdapter;
import com.ugrow.ugrowcommunity.activity.announcement.bean.AnnouncementBean;

import java.util.ArrayList;
import java.util.Random;


public class EducationFragment extends Fragment {

    RecyclerView recyclerView;
    private SwipeRefreshLayout swipeRefreshLayout;
    AnnouncementAdapter educationtAdapter;
    private View viewFragment;

    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
                             Bundle savedInstanceState) {
        // Inflate the layout for this fragment
        viewFragment = inflater.inflate(R.layout.fragment_education, container, false);
        initList();
        refresh();
        return viewFragment;
    }

    private void initAdapter(ArrayList<AnnouncementBean> activitysList) {
        educationtAdapter = new AnnouncementAdapter(activitysList, getActivity());
        LinearLayoutManager layoutManager = new LinearLayoutManager(getContext());
        recyclerView = viewFragment.findViewById(R.id.rec_education);
        recyclerView.setLayoutManager(layoutManager);
        recyclerView.setAdapter(educationtAdapter);
    }


    @SuppressLint("ResourceAsColor")
    private void refresh(){
        swipeRefreshLayout = viewFragment.findViewById(R.id.swipe_refresh_layout);
        swipeRefreshLayout.setOnRefreshListener(new SwipeRefreshLayout.OnRefreshListener() {
            @Override
            public void onRefresh() {
                initList();
                educationtAdapter.notifyDataSetChanged();
                swipeRefreshLayout.setRefreshing(false);
            }
        });
    }

    private void initList() {
        ArrayList<AnnouncementBean> educationList = new ArrayList<AnnouncementBean>();

        AnnouncementBean announcementBean = new AnnouncementBean();
        announcementBean.setTitle("学校领导赵光强到马克思主义学院听课");
        announcementBean.setContent("11月25日，学校副校长赵光强来到天一楼7217合堂教室，听取了马光川副教授《形势与政策》课程，教务处与马克思主义学院相关人员陪同参加。\n" +
                "课后赵光强肯定了课堂教学效果，并与马光川老师就上好《形势与政策》课进行了充分交流。他指出要切实发挥思想政治理论课的主渠道主阵地作用，要教育引导广大学生牢固树立“四个意识”坚定“四个自信”坚决做到“两个维护”，深入领会、精准把握、科学解读党的政策文件和习近平总书记系列重要讲话指示精神，特别是要学习好宣传好习近平总书记《在庆祝中国共产党成立一百周年大会上的讲话》和《中共中央关于党的百年奋斗重大成就和历史经验的决议》两个马克思主义纲领性文献的精神与核心要义。\n" +
                "赵光强在与部分学生干部交流的时候强调，青年学生是未来、是希望，要坚持“立德树人”德为先的教育理念和成才观念，勉励大家要勇于担当、敢于作为，为实现中华民族伟大复兴的中国梦贡献自己的力量。");
        announcementBean.setAuthor("交流中心");
        announcementBean.setTime("2021年11月30日");
        announcementBean.setImgView("http://82.157.173.219:9000/yinggu/g1.png");

        AnnouncementBean announcementBean2 = new AnnouncementBean();
        announcementBean2.setTitle("我校许海霞老师获全国高校电子信息类专业青年教师授课竞赛二等奖");
        announcementBean2.setContent("10月16日至17日，我校信控学院许海霞老师在第五届全国高等学校电子信息类专业青年教师授课竞赛决赛中，通过现场精彩教学展示，荣获二等奖。\n" +
                "本届赛事由教育部学校规划建设发展中心指导，教育部高等学校电子信息类专业教学指导委员会、中国电子学会主办，成都信息工程大学承办。\n" +
                "比赛分为预赛和决赛两个阶段。本届大赛于今年4月份启动，全国有260余所大学的500多名青年教师参加初赛。通过评审，最终全国共有132名选手从四大赛区脱颖而出，进入决赛，决赛评出一、二、三等奖。\n" +
                "此项赛事旨在深入推进课堂教学改革，打造“金课”，为广大青年教师提供展示、交流的平台，营造互学互鉴、比学赶超的氛围，充分发挥教学竞赛在提高教师队伍素质中的引领示范作用，进一步加强电子信息类专业青年教师教学基本功和能力训练，提升课程教学质量和人才培养质量；通过本次比赛，也充分展示了我院优秀青年教师的教学水平和教学风采，扩大了我校在全国的美誉度。");
        announcementBean2.setAuthor("信息与控制工程学院");
        announcementBean2.setTime("2021年10月21日");
        announcementBean2.setImgView("http://82.157.173.219:9000/yinggu/g2.png");

        AnnouncementBean announcementBean3 = new AnnouncementBean();
        announcementBean3.setTitle("学校领导王清明到美术学院听课督导");
        announcementBean3.setContent("5月13日上午，学校党委副书记王清明深入美术学院课堂，分别听取了环境设计专业唐乃行老师讲授的《环境规划设计》课与视觉传达专业张焕芳老师讲授的《网络形象设计》课，美术学院班子成员一起参与了听课活动。\n" +
                "\n" +
                "听课过程中，王书记认真听取教师理论讲授、学生设计方案汇报、师生讨论的环节，仔细填写听课记录。课后又与两位授课教师和学院领导进行了亲切交流，饶有兴趣地谈论学生对泰华商场滨水景观规划的设计效果，对美术学院具有专业特色的教学形式、探究式的教学方法给予肯定，对两位老师认真授课和辅导的教学态度高度认可，并对美术学院下一步教学与研究工作提出指导性意见");
        announcementBean3.setAuthor("教务处");
        announcementBean3.setTime("2021年5月7日");
        announcementBean3.setImgView("http://82.157.173.219:9000/yinggu/g3.jpg");

        AnnouncementBean announcementBean4 = new AnnouncementBean();
        announcementBean4.setTitle("学校召开2021年学位评定委员会第三次会议");
        announcementBean4.setContent("10月20日，学校召开2021年学位评定委员会第三次会议，审议相关学位工作。学校学位评定委员会主席冯滨鲁，学校学位评定委员会副主席王清明、丁子信、赵光强、王旭升和学位评定委员会委员等参加会议。\n" +
                "冯滨鲁主持会议并讲话，他在讲话中指出学位工作要做到“三个到位”，即要高度重视、提高政治站位，认识到位；要掌握政策、认真细致，工作到位；要全心全意关心关爱学生，关心到位。\n" +
                "会议讨论并审议通过了《潍坊学院关于加强学位管理工作的指导意见》，对2021年成人教育本科毕业生学士学位授予情况进行了表决。会上还研究了有关学位整改等事项。");
        announcementBean4.setAuthor("总务处");
        announcementBean4.setTime("2021年10月26日");
        announcementBean4.setImgView("http://82.157.173.219:9000/yinggu/g4.jpg");

        AnnouncementBean announcementBean5 = new AnnouncementBean();
        announcementBean5.setTitle("学校召开本学期教学督导工作会议");
        announcementBean5.setContent("11月24日，学校召开本学期教学督导工作会议，总结本学期校级教学督导情况。副校长丁子信出席会议，学校第十届教学督导委员会成员、教务处负责同志及相关科室人员参加会议。\n" +
                "会上，教务处负责同志就本学期校级教学督导情况进行总结，督导委员会委员分别对分组督导情况进行反馈。从校级督导情况来看，广大教师紧紧围绕立德树人根本任务，切实用好课堂教学主渠道，筑牢意识形态主阵地，教风、学风进一步向好。绝大多数教师教学态度端正,教学准备充分，能够较好的完成教学任务，但在教、学、管等方面仍需进一步规范和强化。\n" +
                "丁子信强调，教学工作首先是态度问题，其次是能力问题。在今后教学过程中，学校要继续强化制度约束，健全管理机制，以政策为导向，坚持约束与激励相结合的管理理念，有效解决“教师的教、学生的学以及教学管理”等方面的问题，引导教师进一步端正教学态度，提升教学能力，真正将学校教学中心地位转化为教师个人中心工作。同时，他还要求教务处尽快整理督导意见、建议，落实好督导意见、建议反馈，真正实现教学督导的评价、诊断、反馈和提升的闭环效应，助力学校整体教学水平有效提升。");
        announcementBean5.setAuthor("学风管理");
        announcementBean5.setTime("2021年11月26日");
        announcementBean5.setImgView("http://82.157.173.219:9000/yinggu/g5.jpg");

        AnnouncementBean announcementBean6 = new AnnouncementBean();
        announcementBean6.setTitle("学校召开期中教学检查教师座谈会");
        announcementBean6.setContent("11月18日，学校组织召开本学期期中教学检查教师座谈会，副校长丁子信及人事处、教务处、实验室与设备管理处等职能部门相关负责同志和教师代表参加座谈。\n" +
                "座谈会上，与会教师代表结合自身体会和工作实际，围绕学校政策制定、教师发展、队伍建设、教学保障等内容，积极建言献策，提出了许多富有针对性、建设性的意见和建议。座谈会持续两个半小时，现场气氛融洽、热烈，教师们发言踊跃。丁子信不时与发言教师进行现场互动交流，参会职能部门负责同志就与会教师提出的部分问题和建议做了现场解答和说明。\n" +
                "在认真听取老师们的发言之后，丁子信对老师们关心学校发展和对学校高度负责的精神给予充分肯定。他要求教务处会后要尽快会同各相关部门，对老师们提出的问题能够立即解决的尽快解决，不能立即解决的要认真分析、研究办法，争取尽快解决。他还希望与会教师继续发扬主人翁精神，为学校建设、发展多提真问题、好建议，推动学校教学管理工作不断改进，推进学校教育教学质量不断提升。");
        announcementBean6.setAuthor("学风建设部");
        announcementBean6.setTime("2021年10月26日");
        announcementBean6.setImgView("http://82.157.173.219:9000/yinggu/g2.png");

        AnnouncementBean announcementBean7 = new AnnouncementBean();
        announcementBean7.setTitle("关于做好全国大学英语四六级考试考生健康监测等工作的通知");
        announcementBean7.setContent("2021年下半年全国大学英语四六级考试（笔试）将于12月18日举行。为切实保障广大考生及涉考工作人员的生命安全和身体健康，根据《山东省2021年下半年全国大学英语四六级考试疫情防控工作方案》要求，现通知如下：\n" +
                "一、各学院须通过发布考试公告、辅导员口头传达等形式告知考生申领“山东省电子健康通行码”。考前第14天、考前第3天和考前第2天，省教育招生考试院将会同卫生健康部门对所有考生进行健康状态数据筛查。考前14天考生应减少跨区域流动，尽量不要离开考试所在地。各院部须要求考生、涉考工作人员自考前14天起每天采取自查自报方式进行健康监测。考生须如实填写《山东省2021年下半年全国大学英语四六级考试（笔试）健康管理信息采集表》（见附件）并在每场进入考试区域时出示并上交。");
        announcementBean7.setAuthor("教务处");
        announcementBean7.setTime("2021年10月26日");
        announcementBean7.setImgView("http://82.157.173.219:9000/yinggu/g6.jpg");


        AnnouncementBean announcementBean8 = new AnnouncementBean();
        announcementBean8.setTitle("关于本学期往届结业生考试组织的通知");
        announcementBean8.setContent("各教学院（部）：\n" +
                "近期，国内新冠肺炎疫情出现新一轮波动，防控形势严峻复杂，学校疫情防控已从常态化防控转到应急防控状态。经研究决定对结业生的期末考试作出如下安排：\n" +
                "1、往届结业生申请参加本学期的重修或随考，原则上统一采用线上考试方式，由开课学院负责组织。如学生不具备线上考试条件，需向原所在学院提出入校申请，经学校批准后方可返校参加考试，相关入校手续由原所在学院负责办理。不能提供考前14天身体健康状况和行程信息、有涉疫情地区旅居史的学生不得返校参加考试。");
        announcementBean8.setAuthor("教务处");
        announcementBean8.setTime("2021年11月05日");
        announcementBean8.setImgView("http://82.157.173.219:9000/yinggu/g7.jpg");

        AnnouncementBean announcementBean9 = new AnnouncementBean();
        announcementBean9.setTitle("学校召开期中教学检查学生座谈会");
        announcementBean9.setContent("11月11日，学校召开本学期期中教学检查学生座谈会，副校长丁子信以及学生工作处、教务处、实验室与设备管理处、总务处、图书馆等职能部门相关负责同志和来自全校23个学院的46名学生代表，采用“面对面”的形式展开座谈。\n" +
                "座谈会上，与会学生代表从教学资源和条件、课堂教学和管理等涉及学生在校学习、生活的多个方面，对学校教学和管理相关工作提出了许多意见、建议，参会的相关职能部门负责人就学生提出的问题、建议进行了现场解答、回复和表态。\n" +
                "丁子信在认真听取学生代表发言后，要求各职能部门要切实树立“学生中心”的工作理念和服务理念，根据学生诉求，积极研究、综合论证，尽快、尽力解决学生在校学习过程的实际问题。");
        announcementBean9.setAuthor("教务处");
        announcementBean9.setTime("2021年11月16日");
        announcementBean9.setImgView("http://82.157.173.219:9000/yinggu/g8.jpg");

        AnnouncementBean announcementBean10 = new AnnouncementBean();
        announcementBean10.setTitle("学校举办第五次教学工作论坛");
        announcementBean10.setContent("10月21日，以“智能+教育，推进一流课程建设”为主题的学校第五次教学工作论坛暨潍坊学院智慧树课程中心揭牌仪式举行,副校长丁子信、上海卓越睿新数码科技股份有限公司大区总经理李嘉澍出席论坛。\n" +
                "会上，副校长丁子信和上海卓越睿新数码科技股份有限公司大区总经理李嘉澍共同为潍坊学院智慧树课程中心建成揭牌，上海卓越睿新数码科技股份有限公司副总裁王健通过视频连线方式在线出席会议并讲话，他对校企双方多年的真诚合作和学校积极参与慕课西部行活动表示感谢，期待双方能有效发挥和利用课程中心作用，在课程建设、资源共享和专业化服务等方面继续保持合作。\n" +
                "副校长丁子信在讲话中对上海卓越睿新数码科技股份有限公司给予我校多年来的支持表示感谢，对学校在教学和课程建设上取得的成绩给予充分肯定，他指出课程是人才培养的基本单元，是教学基本要素，是专业建设、人才培养和教学过程的基础，是“三金”的核心和支撑，对学校人才培养和整体发展至关重要，要求各二级学院和一线教师要以本次教学工作论坛和课程中心建立为契机，进一步加强课程建设意识，增强课程建设积极性、主动性，在课程建设上取得更多更好成绩，推动学校课程建设再上新台阶。");
        announcementBean10.setAuthor("学工");
        announcementBean10.setTime("2021年10月22日");
        announcementBean10.setImgView("http://82.157.173.219:9000/yinggu/g1.png");

        educationList.add(announcementBean);
        educationList.add(announcementBean2);
        educationList.add(announcementBean3);
        educationList.add(announcementBean4);
        educationList.add(announcementBean5);
        educationList.add(announcementBean6);
        educationList.add(announcementBean7);
        educationList.add(announcementBean8);
        educationList.add(announcementBean9);
        educationList.add(announcementBean10);

        initAdapter(educationList);
    }

    private String getRandomLengthContent(String content) {
        Random random = new Random();
        int length = random.nextInt(20) + 1;
        StringBuilder builder = new StringBuilder();
        for (int i = 0; i < length; i++) {
            builder.append(content);
        }
        return builder.toString();
    }
}